package com.example.springmvcdemo.controller;

import com.example.springmvcdemo.model.Student;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.Arrays;
import java.util.List;

@RequestMapping("/request")
@RestController
public class RequestController {
    @RequestMapping(value = "/hello",method = RequestMethod.GET)
    public String say() {
        return "hello,Spring mvc";
    }

    @RequestMapping("/r1")
    public String r1(String name) {
        return "接收到参数, name:" + name;
    }

    @RequestMapping("/r2")
    public String r2(Integer age) {
        return "接收到参数, age:" + age;
    }

    @RequestMapping("/r4")
    public String r4(String name, Integer age) {
        return "接收到参数, name:" + name + " , age:" + age;
    }

    @RequestMapping("/r5")
    public String r5(Student student) {
        return "接收到参数, student:" + student.toString();
    }

    @RequestMapping("/r6")
    public String r6(@RequestParam("name") String name, Integer age) {
        return "接收到参数, name:" + name + " , age:" + age;
    }

    @RequestMapping("/r7")
    public String r7(@RequestParam(value = "name",required = false) String name, Integer age) {
        return "接收到参数, name:" + name + " , age:" + age;
    }

    @RequestMapping("/r8")
    public String r8(int[] array) {
        return "接收到参数,array:" + Arrays.toString(array);
    }

    @RequestMapping("/r9")
    public String r9(@RequestParam List<String> list) {
        return "接收到参数,list:" + list;
    }

    @RequestMapping("/r10")
    public String r10(@RequestBody Student student) {
        return "接收到参数, student:" + student.toString();
    }

    @RequestMapping("/article/{articleId}")
    public String r11(@PathVariable("articleId") Integer articleId) {
        return "接收到参数, articleId:" + articleId;
    }

    @RequestMapping("/article/{articleId}/{name}")
    public String r12(@PathVariable("articleId") Integer articleId, @PathVariable("name")String name) {
        return "接收到参数, articleId:" + articleId + " , name:" + name;
    }

    @RequestMapping("/r13")
    public String r13(@RequestPart("file")MultipartFile imgFile) {
        String originalFilename = imgFile.getOriginalFilename();
        return "接收到参数,文件名:" + originalFilename;
    }

}
